CORS (Cross-Origin Resource Sharing) হল একটি নিরাপত্তা প্রোটোকল যা ওয়েব ব্রাউজারগুলোকে নির্দিষ্ট নিয়মের মাধ্যমে একে অপরের ডোমেইন থেকে রিসোর্স শেয়ার করতে অনুমতি দেয়। এটি মূলত ওয়েব অ্যাপ্লিকেশন এবং API এর মধ্যে ক্রস-অরিজিন অনুরোধ (cross-origin requests) পরিচালনা করতে ব্যবহৃত হয়। একটি "অরিজিন" বলতে বোঝানো হয় একটি নির্দিষ্ট স্কিমা (যেমন HTTP/HTTPS), ডোমেইন, এবং পোর্টের সমন্বয়। যখন একটি ওয়েব অ্যাপ্লিকেশন বা ব্রাউজার অন্য একটি অরিজিন থেকে ডেটা বা রিসোর্স অ্যাক্সেস করতে চায়, তখন CORS নিশ্চিত করে যে শুধুমাত্র অনুমোদিত ডোমেইন বা অ্যাপ্লিকেশনগুলোই এই অনুরোধগুলো গ্রহণ করতে পারে।
যেমন, যদি আপনার একটি ওয়েব অ্যাপ্লিকেশন http://example.com থেকে অন্য একটি অ্যাপ্লিকেশন http://api.example.com এ GET, POST, PUT বা DELETE অনুরোধ পাঠাতে চায়, তবে CORS প্রোটোকল ব্যবহার করে আপনি নিশ্চিত করতে পারেন যে api.example.com ওই অনুরোধগুলো গ্রহণ করতে পারবে এবং তা নিরাপদভাবে প্রসেস করতে পারবে।
CORS প্রধানত HTTP হেডার এর মাধ্যমে কাজ করে। যখন একটি ওয়েব অ্যাপ্লিকেশন বা ব্রাউজার একটি ক্রস-অরিজিন অনুরোধ পাঠায়, তখন সার্ভার তার রেসপন্সে কিছু নির্দিষ্ট CORS হেডার পাঠায়, যা ব্রাউজারকে নির্দেশ দেয় যে এই অনুরোধটি অনুমোদিত কিনা।
এখানে কিছু গুরুত্বপূর্ণ CORS হেডারের উদাহরণ:
Access-Control-Allow-Origin: *
মানে যে সব অরিজিনের অনুরোধ গ্রহণ করা যাবে, আর Access-Control-Allow-Origin: http://example.com
মানে শুধুমাত্র http://example.com
ডোমেইনের অনুরোধই গ্রহণ করা হবে।Access-Control-Allow-Methods: GET, POST, PUT
।Access-Control-Allow-Headers: Content-Type, Authorization
।CORS কনফিগারেশন করার জন্য ASP.NET Core এ Startup.cs
ফাইলের ConfigureServices
মেথডে AddCors
পদ্ধতি ব্যবহার করা হয়। এখানে একটি সাধারণ উদাহরণ দেয়া হলো:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder => builder.WithOrigins("http://example.com")
.AllowAnyMethod()
.AllowAnyHeader());
});
}
এখানে AllowSpecificOrigin
পলিসি কনফিগার করা হয়েছে, যা শুধুমাত্র http://example.com
ডোমেইন থেকে অনুরোধ গ্রহণ করবে।
এটি এরপর Configure
মেথডে ব্যবহার করা হয়:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseCors("AllowSpecificOrigin");
// অন্যান্য Middleware গুলো
}
এভাবে CORS কনফিগার করা হলে, নির্দিষ্ট ডোমেইন বা অরিজিন থেকে API এর ক্রস-অরিজিন অনুরোধগুলো অনুমোদিত হবে।
CORS একটি নিরাপত্তা প্রোটোকল যা ওয়েব ব্রাউজারগুলোকে একটি ডোমেইন থেকে অন্য ডোমেইনের রিসোর্স অ্যাক্সেস করার অনুমতি দেয়। এটি মূলত ওয়েব অ্যাপ্লিকেশন এবং API এর মধ্যে ক্রস-অরিজিন অনুরোধ অনুমোদন করতে ব্যবহৃত হয়। CORS সার্ভারের মাধ্যমে HTTP হেডারের মাধ্যমে ক্রস-অরিজিন অনুরোধগুলো অনুমোদন বা বাতিল করা হয়, এবং এটি API বা সার্ভারের নিরাপত্তা রক্ষা করতে অত্যন্ত গুরুত্বপূর্ণ।
common.read_more